package com.ruoyi.oar.mapper;

import java.util.List;
import com.ruoyi.oar.domain.OarVerifiTask;
import com.ruoyi.oar.domain.dto.OarVerifiTaskDTO;
import com.ruoyi.oar.domain.query.OarVerifiTaskQuery;
import java.util.Optional;
/**
 * 核查任务Mapper接口
 * 
 * @author oar
 * @date 2022-02-26
 */
public interface OarVerifiTaskMapper 
{
    /**
     * 查询核查任务
     * 
     * @param id 核查任务主键
     * @return 核查任务
     */
    public Optional<OarVerifiTask> selectOarVerifiTaskById(String id);

    /**
     * 查询核查任务列表
     * 
     * @param oarVerifiTaskQuery 核查任务
     * @return 核查任务集合
     */
    public List<OarVerifiTask> selectOarVerifiTaskList(OarVerifiTaskQuery oarVerifiTaskQuery);

    /**
     * 新增核查任务
     * 
     * @param oarVerifiTask 核查任务
     * @return 结果
     */
    public int insertOarVerifiTask(OarVerifiTask oarVerifiTask);

    /**
     * 修改核查任务
     * 
     * @param oarVerifiTask 核查任务
     * @return 结果
     */
    public int updateOarVerifiTask(OarVerifiTask oarVerifiTask);

    /**
     * 删除核查任务
     * 
     * @param id 核查任务主键
     * @return 结果
     */
    public int deleteOarVerifiTaskById(String id);

    /**
     * 批量删除核查任务
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOarVerifiTaskByIds(String[] ids);

    /**
     * 统计该批次必填是否已全填
     * @param taskId
     * @return
     */
    public int countByTaskId(String taskId);

    /**
     * 统计核查任务数量
     * @param taskState
     * @return
     */
    public int countByTaskState(Integer taskState);
}
